package product

import (
	"github.com/gin-gonic/gin"
	"net/http"
	"woo-server/controllers"
	"woo-server/services/product"
)

// @tags 后台商品分类
// @summary 后台商品分类管理
// @Description 后台商品分类管理列表
// @Accept json
// @Success 200 {string} json "{"StatusCode":200,"Data":""}"
// @Router /ProductCategory/List [get]
func List(c *gin.Context) {
	// common
	com := controllers.NewCommon(c, "GetProductCategoryList")

	// 生成登录态
	ProductCategoryService := product.NewProductCategoryService(com)
	result := ProductCategoryService.GetProductCategoryList(c, true)

	// 返回
	c.JSON(http.StatusOK, result)
}

// @tags 后台商品分类
// @summary 后台商品分类配置
// @Description 后台商品分类管理列表配置项
// @Accept json
// @Success 200 {string} json "{"StatusCode":200,"Data":""}"
// @Router /ProductCategory/Config [get]
func Config(c *gin.Context) {
	// common
	com := controllers.NewCommon(c, "GetProductCategoryConfig")

	// 生成service
	ProductCategoryService := product.NewProductCategoryService(com)
	result := ProductCategoryService.GetProductCategoryConfig(c)

	// 返回
	c.JSON(http.StatusOK, result)
}

// @tags 后台商品分类
// @summary 后台商品分类配置
// @Description 后台商品分类管理列表配置项
// @Accept json
// @Success 200 {string} json "{"StatusCode":200,"Data":""}"
// @Router /ProductCategory/Save [get]
func Save(c *gin.Context) {
	// common
	com := controllers.NewCommon(c, "PostSave")

	// 生成service
	ProductCategoryService := product.NewProductCategoryService(com)
	result := ProductCategoryService.PostSave(c)

	// 返回
	c.JSON(http.StatusOK, result)
}

// @tags 后台商品分类
// @summary 删除商品分类
// @Description 后台商品分类管理--删除商品分类
// @Accept json
// @Success 200 {string} json "{"StatusCode":200,"Data":""}"
// @Router /ProductCategory/Save [get]
func Delete(c *gin.Context) {
	// common
	com := controllers.NewCommon(c, "PostSave")

	// 生成service
	ProductCategoryService := product.NewProductCategoryService(com)
	result := ProductCategoryService.Delete(c)

	// 返回
	c.JSON(http.StatusOK, result)
}
